1. Field of the Invention
The present invention relates to an information processing apparatus, a communication control method, and a communication control system.
2. Description of the Related Art
Conventionally, when network data is transmitted and received, an error correction code (ECC) is added to the data so as to detect the occurrence of a data error. As representative protocols, Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) have been standardized in the Internet Engineering Task Force (IETF) as RFC793 and RFC768, respectively. Packet formats of the protocols include a checksum field, and an error is detected so that a receiver side checks a checksum allocated by a transceiver side.
A data checking process based on a checksum calculation can be performed by software, but a different technique has been suggested which performs the data checking process based on the checksum calculation by hardware so that the load to a central processing unit (CPU) may be reduced.
There is a process of fragmenting one TCP/UDP packet into a plurality of Internet Protocol (IP) packets and transferring the IP packets. This process is called fragmentation (a fragmentation process) of the TCP/UDP packet.
In a conventional checksum function by hardware on a fragmented packet, the calculation was performed after all packets of a calculation target were temporarily stored in a random access memory (RAM). Since a plurality of fragment packets of the TCP/UDP packet were transferred in random order it was necessary to mount many RAMs.
In this regard, techniques have been suggested that perform a calculation by software only when a TCP/UDP packet is fragmented. For example, in a technique disclosed in Japanese Patent Application Laid-open No. 2007-215013, a checksum is checked not only when fragmentation is not executed but also when fragmentation is executed, but software control is required when fragmentation is executed.
However, when software control is performed for the execution of fragmentation, a problem occurs in that the calculation processing time increases.